package com.afdor.rws.event.driven.api.channel.producer.transaction;

import com.afdor.rws.event.driven.entities.Event;

/**
 * 执行通道事务管理模式
 *
 * @author 悭梵
 * @date Created in 2018-12-17 16:33
 */
public interface EventProducerTransactionItem {

    /**
     * 事物项标识
     */
    String getTransactionId();

    /**
     * 添加到发送队列事件消息
     *
     * @param event
     */
    void addEvent(Event event);

    /**
     * 提交操作
     */
    void rollback();

    /**
     * 回滚操作
     *
     * @return
     */
    boolean commit();
}